package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.entity.AbdulBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 计费规则操作记录对象 billing_rule_operation_logs
 *
 * @author ruoyi
 * @date 2025-05-19
 */
@ApiModel("计费规则操作记录对象")
public class BillingRuleOperationLogs extends AbdulBaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @ApiModelProperty("主键ID")
    private Long id;

    /** 计费规则编号 */
    @ApiModelProperty("计费规则编号")
    @Excel(name = "计费规则编号")
    private String billingRuleCode;

    /** 计费类型 */
    @ApiModelProperty("计费类型")
    @Excel(name = "计费类型")
    private String billingType;

    /** 操作类型 */
    @ApiModelProperty("操作类型")
    @Excel(name = "操作类型")
    private String operationType;

    /** 操作开始时间 */
    @ApiModelProperty("操作开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operationStartTime;

    /** 操作结束时间 */
    @ApiModelProperty("操作结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operationEndTime;

    /** 操作员工 */
    @ApiModelProperty("操作员工")
    @Excel(name = "操作员工")
    private String operator;

    /** 计费规则名称 */
    @ApiModelProperty("计费规则名称")
    @Excel(name = "计费规则名称")
    private String billingRuleName;

    /** 计费规则修改前 */
    @ApiModelProperty("计费规则修改前")
    @Excel(name = "计费规则修改前")
    private String beforeModification;

    /** 计费规则修改后 */
    @ApiModelProperty("计费规则修改后")
    @Excel(name = "计费规则修改后")
    private String afterModification;

    /** 开单优惠 */
    @ApiModelProperty("开单优惠")
    @Excel(name = "开单优惠")
    private String orderDiscount;

    /** 计费方式 */
    @ApiModelProperty("计费方式")
    @Excel(name = "计费方式")
    private String billingMethod;

    /** 超出时段 */
    @ApiModelProperty("超出时段")
    @Excel(name = "超出时段")
    private String overtimePeriod;

    /** 整单折扣(1=允许,0=不允许) */
    @ApiModelProperty("整单折扣(1=允许,0=不允许)")
    @Excel(name = "整单折扣(1=允许,0=不允许)")
    private Integer allowDiscount;

    /** 整单折扣后继续参与会员折扣(1=参与,0=不参与) */
    @ApiModelProperty("整单折扣后继续参与会员折扣(1=参与,0=不参与)")
    @Excel(name = "整单折扣后继续参与会员折扣(1=参与,0=不参与)")
    private Integer afterDiscountMember;

    /** 折扣方式 */
    @ApiModelProperty("折扣方式")
    @Excel(name = "折扣方式")
    private String discountType;

    /** 参与最低消费 */
    @ApiModelProperty("参与最低消费")
    @Excel(name = "参与最低消费")
    private BigDecimal minConsumption;

    /** 参与会员积分(1=是,0=否) */
    @ApiModelProperty("参与会员积分(1=是,0=否)")
    @Excel(name = "参与会员积分(1=是,0=否)")
    private Integer earnPoints;

    /** 扫码开单(1=支持,0=不支持) */
    @ApiModelProperty("扫码开单(1=支持,0=不支持)")
    @Excel(name = "扫码开单(1=支持,0=不支持)")
    private Integer scanOrder;

    /** 支持积分抵现(1=是,0=否) */
    @ApiModelProperty("支持积分抵现(1=是,0=否)")
    @Excel(name = "支持积分抵现(1=是,0=否)")
    private Integer supportPointsPayment;

    /** 手机号 */
    @ApiModelProperty("手机号")
    @Excel(name = "手机号")
    private String phone;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setBillingRuleCode(String billingRuleCode)
    {
        this.billingRuleCode = billingRuleCode;
    }

    public String getBillingRuleCode()
    {
        return billingRuleCode;
    }

    public void setBillingType(String billingType)
    {
        this.billingType = billingType;
    }

    public String getBillingType()
    {
        return billingType;
    }

    public void setOperationType(String operationType)
    {
        this.operationType = operationType;
    }

    public String getOperationType()
    {
        return operationType;
    }

    public void setOperationStartTime(Date operationStartTime)
    {
        this.operationStartTime = operationStartTime;
    }

    public Date getOperationStartTime()
    {
        return operationStartTime;
    }

    public void setOperationEndTime(Date operationEndTime)
    {
        this.operationEndTime = operationEndTime;
    }

    public Date getOperationEndTime()
    {
        return operationEndTime;
    }

    public void setOperator(String operator)
    {
        this.operator = operator;
    }

    public String getOperator()
    {
        return operator;
    }

    public void setBillingRuleName(String billingRuleName)
    {
        this.billingRuleName = billingRuleName;
    }

    public String getBillingRuleName()
    {
        return billingRuleName;
    }

    public void setBeforeModification(String beforeModification)
    {
        this.beforeModification = beforeModification;
    }

    public String getBeforeModification()
    {
        return beforeModification;
    }

    public void setAfterModification(String afterModification)
    {
        this.afterModification = afterModification;
    }

    public String getAfterModification()
    {
        return afterModification;
    }

    public void setOrderDiscount(String orderDiscount)
    {
        this.orderDiscount = orderDiscount;
    }

    public String getOrderDiscount()
    {
        return orderDiscount;
    }

    public void setBillingMethod(String billingMethod)
    {
        this.billingMethod = billingMethod;
    }

    public String getBillingMethod()
    {
        return billingMethod;
    }

    public void setOvertimePeriod(String overtimePeriod)
    {
        this.overtimePeriod = overtimePeriod;
    }

    public String getOvertimePeriod()
    {
        return overtimePeriod;
    }

    public void setAllowDiscount(Integer allowDiscount)
    {
        this.allowDiscount = allowDiscount;
    }

    public Integer getAllowDiscount()
    {
        return allowDiscount;
    }

    public void setAfterDiscountMember(Integer afterDiscountMember)
    {
        this.afterDiscountMember = afterDiscountMember;
    }

    public Integer getAfterDiscountMember()
    {
        return afterDiscountMember;
    }

    public void setDiscountType(String discountType)
    {
        this.discountType = discountType;
    }

    public String getDiscountType()
    {
        return discountType;
    }

    public void setMinConsumption(BigDecimal minConsumption)
    {
        this.minConsumption = minConsumption;
    }

    public BigDecimal getMinConsumption()
    {
        return minConsumption;
    }

    public void setEarnPoints(Integer earnPoints)
    {
        this.earnPoints = earnPoints;
    }

    public Integer getEarnPoints()
    {
        return earnPoints;
    }

    public void setScanOrder(Integer scanOrder)
    {
        this.scanOrder = scanOrder;
    }

    public Integer getScanOrder()
    {
        return scanOrder;
    }

    public void setSupportPointsPayment(Integer supportPointsPayment)
    {
        this.supportPointsPayment = supportPointsPayment;
    }

    public Integer getSupportPointsPayment()
    {
        return supportPointsPayment;
    }

    public void setPhone(String phone)
    {
        this.phone = phone;
    }

    public String getPhone()
    {
        return phone;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("billingRuleCode", getBillingRuleCode())
                .append("billingType", getBillingType())
                .append("operationType", getOperationType())
                .append("operationStartTime", getOperationStartTime())
                .append("operationEndTime", getOperationEndTime())
                .append("operator", getOperator())
                .append("billingRuleName", getBillingRuleName())
                .append("beforeModification", getBeforeModification())
                .append("afterModification", getAfterModification())
                .append("orderDiscount", getOrderDiscount())
                .append("billingMethod", getBillingMethod())
                .append("overtimePeriod", getOvertimePeriod())
                .append("allowDiscount", getAllowDiscount())
                .append("afterDiscountMember", getAfterDiscountMember())
                .append("discountType", getDiscountType())
                .append("minConsumption", getMinConsumption())
                .append("earnPoints", getEarnPoints())
                .append("scanOrder", getScanOrder())
                .append("supportPointsPayment", getSupportPointsPayment())
                .append("phone", getPhone())
                .toString();
    }
}
